home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / lisp / gcl-1.000 / gcl-1 / gcl-1.0 / unixport / makefile < prev    next >
Encoding:
Makefile  |  1994-05-09  |  6.5 KB  |  225 lines

  1.  
  2. HDIR    = ../h
  3. ODIR    = ../o
  4. LSPDIR    = ../lsp
  5. CMPDIR    = ../cmpnew
  6. PORTDIR    = ../unixport
  7. MPDIR    = ../mp
  8.  
  9. CFLAGS    = -c $(DEFS) -I$(HDIR)
  10. LDCC    = $(CC)
  11.  
  12. LIBS    = -lm # -lpixrect -lc
  13. OLDDATE = "DATE"
  14. GCLIB    = $(ODIR)/gcllib.a
  15. MPFILES= $(MPDIR)/mpi.o $(MPDIR)/mp2.o  $(MPDIR)/libmport.a
  16. # begin makedefs
  17. GCLDIR=/d11/wfs/newakcl
  18. SHELL=/bin/sh
  19. MACHINE=sun4
  20.  
  21. LBINDIR=/usr/local/bin
  22. OFLAG    =  -O
  23. LIBS    = -lm 
  24.  
  25. #include "sparc.h"
  26.  
  27. # the commercial (for money) C compiler has never been able
  28. # to compile akcl/gcl correctly.  Perhaps it does not like the idea
  29. # that this is free software.   However the standard C compiler is ok.
  30.  
  31. CC = cc  -DVOL=  -I$(GCLDIR)/o -Bstatic -temp=. -pipe
  32. CC = cc  -DVOL=  -I$(GCLDIR)/o -Bstatic  -pipe
  33. ODIR_DEBUG=-O4
  34.  
  35. #gcc 2.1 and 2.2 compile gcl correctly as far as I have been able to determine.
  36. #gcc 2.3.3 does not compile gcl correctly
  37. # gcc 2.5.7 is correct as far as I can tell
  38. #CC = gcc -I${GCLDIR}/o -static -DVOL=volatile -W 
  39.  
  40. AS=as -P
  41.  
  42. CFLAGS    = -c $(DEFS)  -I../h
  43.  
  44. MAIN    = ../o/main.o
  45.  
  46. MPFILES=$(MPDIR)/mpi-sparc.o $(MPDIR)/sparcdivul3.o $(MPDIR)/libmport.a
  47. #MPFILES=${MPDIR}/mpi.o ${MPDIR}/libmport.a
  48.  
  49. RSYM    = rsym
  50. SFASL    = $(ODIR)/sfasl.o
  51.  
  52. # This function will be run before dumping.
  53. # When using SFASL it is good to have (si::build-symbol-table)
  54. INITFORM=(si::build-symbol-table)
  55.  
  56.  
  57.  
  58. # Use symbolic links
  59. SYMB=-s
  60. # the  make to use for saved_kcp the profiler.
  61. KCP=kcp-sun
  62.  
  63. NULLFILE = ../h/secondary_sun_magic
  64.  
  65. # end makedefs
  66.  
  67. LIBS1= $(LIBS) $(GCLIB)
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86. OBJS    = $(ODIR)/main.o $(ODIR)/alloc.o $(ODIR)/gbc.o \
  87.     $(ODIR)/bitop.o $(ODIR)/typespec.o $(ODIR)/eval.o \
  88.     $(ODIR)/macros.o $(ODIR)/lex.o $(ODIR)/bds.o \
  89.     $(ODIR)/frame.o $(ODIR)/predicate.o $(ODIR)/reference.o \
  90.     $(ODIR)/assignment.o $(ODIR)/bind.o $(ODIR)/let.o \
  91.     $(ODIR)/conditional.o $(ODIR)/block.o $(ODIR)/iteration.o \
  92.     $(ODIR)/mapfun.o $(ODIR)/prog.o $(ODIR)/multival.o \
  93.     $(ODIR)/catch.o $(ODIR)/symbol.o $(ODIR)/cfun.o \
  94.     $(ODIR)/cmpaux.o $(ODIR)/package.o $(ODIR)/big.o \
  95.     $(ODIR)/number.o $(ODIR)/num_pred.o $(ODIR)/num_comp.o \
  96.     $(ODIR)/num_arith.o $(ODIR)/num_sfun.o $(ODIR)/num_co.o \
  97.     $(ODIR)/num_log.o $(ODIR)/num_rand.o $(ODIR)/earith.o \
  98.     $(ODIR)/character.o  $(ODIR)/sequence.o \
  99.     $(ODIR)/list.o $(ODIR)/hash.o $(ODIR)/array.o \
  100.     $(ODIR)/string.o $(ODIR)/structure.o $(ODIR)/toplevel.o \
  101.     $(ODIR)/file.o $(ODIR)/read.o $(ODIR)/backq.o \
  102.     $(ODIR)/print.o $(ODIR)/format.o $(ODIR)/pathname.o \
  103.     $(ODIR)/unixfsys.o $(ODIR)/unixfasl.o $(ODIR)/error.o \
  104.     $(ODIR)/unixtime.o $(ODIR)/unixsys.o $(ODIR)/unixsave.o \
  105.     $(ODIR)/unixint.o $(ODIR)/funlink.o  \
  106.     $(ODIR)/fat_string.o ${ODIR}/run_process.o \
  107.     $(ODIR)/init_pari.o $(MPFILES) $(SFASL) $(EXTRAS)
  108.  
  109. LSPOBJS    = $(LSPDIR)/defmacro.o $(LSPDIR)/evalmacros.o $(LSPDIR)/top.o \
  110.     $(LSPDIR)/module.o $(LSPDIR)/predlib.o $(LSPDIR)/setf.o \
  111.     $(LSPDIR)/arraylib.o $(LSPDIR)/assert.o $(LSPDIR)/defstruct.o \
  112.     $(LSPDIR)/describe.o $(LSPDIR)/iolib.o $(LSPDIR)/listlib.o \
  113.     $(LSPDIR)/mislib.o $(LSPDIR)/numlib.o $(LSPDIR)/packlib.o \
  114.     $(LSPDIR)/seq.o $(LSPDIR)/seqlib.o $(LSPDIR)/trace.o \
  115.     $(LSPDIR)/sloop.o  $(LSPDIR)/debug.o 
  116.  
  117. CMPOBJS    = $(CMPDIR)/cmpinline.o $(CMPDIR)/cmputil.o $(CMPDIR)/cmptype.o \
  118.     $(CMPDIR)/cmpbind.o $(CMPDIR)/cmpblock.o $(CMPDIR)/cmpcall.o \
  119.     $(CMPDIR)/cmpcatch.o $(CMPDIR)/cmpenv.o $(CMPDIR)/cmpeval.o \
  120.     $(CMPDIR)/cmpflet.o $(CMPDIR)/cmpfun.o $(CMPDIR)/cmpif.o \
  121.     $(CMPDIR)/cmplabel.o $(CMPDIR)/cmplam.o $(CMPDIR)/cmplet.o \
  122.     $(CMPDIR)/cmploc.o $(CMPDIR)/cmpmap.o $(CMPDIR)/cmpmulti.o \
  123.     $(CMPDIR)/cmpspecial.o $(CMPDIR)/cmptag.o $(CMPDIR)/cmptop.o \
  124.     $(CMPDIR)/cmpvar.o $(CMPDIR)/cmpvs.o $(CMPDIR)/cmpwt.o
  125.  
  126. GCL=gcl
  127.  
  128. saved_$(GCL):    raw_$(GCL) $(RSYM) init_gcl.lsp \
  129.         $(CMPDIR)/cmpmain.lsp \
  130.         $(CMPDIR)/lfun_list.lsp \
  131.         $(CMPDIR)/cmpopt.lsp
  132. # if you are wfs on rascal increment the minor version number.
  133.     ../xbin/if-exists /usr/u9/wfs/schelter "../xbin/inc-version"
  134.     ../xbin/if-exists saved_$(GCL) "rm -f saved_$(GCL)"
  135.     cat init_gcl.lsp | \
  136.     sed -e "s$(OLDDATE)Version(`cat ../majvers`.`cat ../minvers`) `date`g" \
  137.     -e 'ssaved_gclsaved_$(GCL)g' \
  138.     -e 'slinks t)links t)(setq compiler::*cc* "$(CC)")$(INITFORM)g' \
  139.     -e "sGCLDIR${GCLDIR}g" \
  140.     -e "s(defun lisp-imp(setq si::*gcl-version* '`cat ../minvers`)(defun lisp-imp'g" | \
  141.     ./raw_$(GCL) $(PORTDIR)/ 
  142.  
  143. rsym:    rsym.c $(HDIR)/mdefs.h
  144.     $(LDCC) $(DEFS) -I../h -o rsym rsym.c 
  145.  
  146. $(HDIR)/mdefs.h: $(HDIR)/include.h
  147.     cat $(HDIR)/include.h | sed -e "/include/d" > $(HDIR)/mdefs.h
  148.  
  149. saved_kcn:    
  150.     make -f make_kcn "MPFILES=$(MPFILES)"
  151.  
  152. FOR_RAW=$(OBJS) $(LSPOBJS) $(CMPOBJS)
  153. SYS_GCL=sys_gcl.o
  154.  
  155. # on boot strapping the gcl compiler because of structure changes,
  156. # some files need to be loaded as lisp files.
  157. raw_$(GCL): $(FOR_RAW)
  158.     rm -f raw_$(GCL) 
  159.     - if  [ -f ../lsp/sloop.c ] ; \
  160.         then make raw_$(GCL)1 "GCL=${GCL}" "ODIR=${ODIR}" "EXTRAS=${EXTRAS}" "LIBS=${LIBS}" "LDCC=${LDCC}" "MPFILES=$(MPFILES)" ; \
  161.         else make raw_$(GCL)1 "SYS_GCL=sys_boot.o" ; fi 
  162.  
  163. raw_$(GCL)1: $(SYS_GCL)
  164.     $(LDCC)  -o raw_$(GCL) $(FOR_RAW) $(SYS_GCL) -lc $(LIBS1)
  165.  
  166. saved_gcl_boot:
  167.     make raw_$(GCL)1 "SYS_GCL=sys_boot.o"
  168.     make saved_gcl
  169.  
  170. HFILES    = $(HDIR)/include.h \
  171.     $(HDIR)/object.h $(HDIR)/vs.h $(HDIR)/symbol.h $(HDIR)/bds.h \
  172.     $(HDIR)/frame.h $(HDIR)/lex.h $(HDIR)/eval.h $(HDIR)/external.h \
  173.     $(HDIR)/rgbc.h
  174.  
  175. sys_gcl.o:    sys_gcl.c $(HFILES)
  176.     $(CC) $(CFLAGS) sys_gcl.c
  177.  
  178.  
  179. # create a sed script.
  180. boots : lspboots cmpboots
  181.     rm -f boots ; \
  182.     echo "# edit lspboots or cmpboots " >> boots ;\
  183.     for v in `cat lspboots cmpboots` ; \
  184.     do echo "s:$$v.o:$$v.lsp:g" >> boots ;\
  185.     echo "s:init_or_load(init_$$v,:load1(:g" >> boots ; \
  186.     done 
  187.  
  188. sys_boot.o: sys_gcl.c $(HFILES) boots
  189.     rm -f sys_boot.c ; cat sys_gcl.c | sed -f boots > sys_boot.c
  190.     $(CC) $(CFLAGS) sys_boot.c
  191.     
  192. kcp-sun:    gcrt0-mod.o
  193.     (cd ../go ; make  "CFLAGS = -I../h -pg -g -c")
  194.     make -e "GCL=kcp" "ODIR=../go"  "EXTRAS= gcrt0-mod.o" "LDCC=${LDCC}" "CC = ${CC} -pg"
  195.  
  196. kcp-bsd: ncrt0.o
  197.     (cd ../go ; make  "CFLAGS = -I../h -pg -g -c")
  198.     make "GCL=kcp" "ODIR=../go" "EXTRAS = gcrt0-mod.o ${EXTRAS} " "CC = ${CC} -pg" "LDCC = gcc -nostdlib  ncrt0.o "
  199.  
  200. aix_crt0.o:
  201.     emacs -batch -l aix-crt0.el
  202.  
  203. kcp-aix: aix_crt0.o
  204.     (cd ../go ; make  "CFLAGS = -I../h -pg -g -c")
  205.     make "GCL=kcp" "ODIR=../go" "EXTRAS = /lib/gcrt0.o ${EXTRAS} " "CC = ${CC} -pg" "LDCC = ld  -H4096 -D0 -T512 -bhalt:4  -bnso -bI:/lib/syscalls.exp -L/lib/profiled aix_crt0.o     "    
  206.  
  207. kcp: ${KCP}
  208.     
  209. ncrt0.o: /lib/crt0.o
  210.     emacs -batch -l ncrt0.el
  211.  
  212. gcrt0-mod.o:
  213.     ../xbin/if-exists /lib/gcrt0.o  "cp /lib/gcrt0.o ."
  214.     ../xbin/if-exists /usr/lib/gcrt0.o  "cp /usr/lib/gcrt0.o ."
  215.     emacs -batch -l gcrt0.el
  216.  
  217.  
  218. hpbsd-crt0-mod.o:
  219.     cp /lib/crt0.o .
  220.     emacs -batch -l hpbsd-crt0.el
  221.  
  222.  
  223. clean:
  224.     rm -f saved_$(GCL) raw_$(GCL) *.o core a.out
  225.